package com.cgnpc.scp.purchase.service;

import cn.com.cgnpc.aep.bizcenter.appcenter.sdk.result.ApiResult;
import com.cgnpc.scp.common.pojo.ActivityInfoParams;
import com.cgnpc.scp.purchase.mybatis.entity.CloseProcessApply;
import com.cgnpc.scp.purchase.mybatis.entity.CloseProcessAudit;

import java.util.Map;

/******************************
 * 用途说明: CloseProcessServiceImpl 接口
 * 作者姓名: chenshijie
 * 创建时间: 2019/11/20 14:39
 ******************************/
public interface ICloseProcessService {

    /**********************************
     * 用途说明: 新建采购需求关闭审批流
     * 参数说明 params
     * 返回值说明:
     ***********************************/
    ApiResult insertContract(String params) throws Exception;

    /**********************************
     * 用途说明: 获取环节业务数据
     * 参数说明 params
     * 返回值说明:
     ***********************************/
    Object getActivityBusinessInfo(ActivityInfoParams activityInfoParams) throws Exception;

    /**********************************
     * 用途说明: 根据id获取采购需求关闭审批流程申请信息
     * 参数说明 params
     * 返回值说明:
     ***********************************/
    CloseProcessApply getApplyById(ActivityInfoParams activityInfoParams) throws Exception;

    /**********************************
     * 用途说明: 根据流程实例id获取经理审批信息
     * 参数说明 params
     * 返回值说明:
     ***********************************/
    CloseProcessAudit getProcessAudit(ActivityInfoParams activityInfoParams) throws Exception;

    /**********************************
     * 用途说明: 删除业务数据以及草稿
     * 参数说明 paramsMap
     * 返回值说明:
     ***********************************/
    ApiResult deleteApplyAndMyDraft(Map paramsMap) throws Exception;

    /**********************************
     * 用途说明: 提交流程
     * 参数说明 params
     * 返回值说明:
     ***********************************/
    ApiResult submitProcess(String params) throws Exception;

    /**********************************
     * 用途说明: 审批
     * 参数说明 params
     * 返回值说明:
     ***********************************/
    void processAudit(Map map) throws Exception;

}
